package com.iwhalecloud.bss.kite.cucc.client.api.rule;

import com.iwhalecloud.bss.kite.manager.inst.KiteOfferInst;
import com.iwhalecloud.bss.kite.manager.inst.KiteOfferInstAcct;
import com.ztesoft.bss.rul.core.client.dto.common.RuleCommonParam;
import com.ztesoft.bss.rul.core.client.dto.kite.KiteRuleResponse;

import java.util.List;

public interface ICuccRuleTriggerService {

    KiteRuleResponse onDelOfferInstAcctCheck(String sceneInstId, RuleCommonParam ruleCommonParam, KiteOfferInstAcct kiteOfferInstAcct);

    KiteRuleResponse checkPlatformType(String scenInstId, RuleCommonParam ruleCommonParam);

    KiteRuleResponse onAddAdditionalOfferInstCheck(String scenInstId, RuleCommonParam ruleCommonParam, List<KiteOfferInst> offerInstFeeList);

    KiteRuleResponse checkUrgentOrDelay(String sceneInstId, RuleCommonParam ruleCommonParam);

    KiteRuleResponse specialLineStartRentCheck(String sceneInstId, RuleCommonParam ruleCommonParam);

    KiteRuleResponse checkOrderPreViewCommon(String sceneInstId, String custId, RuleCommonParam ruleCommonParam);

    KiteRuleResponse checkOnOrderPreview(String sceneInstId, String custId, RuleCommonParam ruleCommonParam);

    KiteRuleResponse singlePaymentFeePayChargeCheck(RuleCommonParam ruleCommonParam);

    KiteRuleResponse singlePaymentFeeTerminationCheck(String sceneInstId, RuleCommonParam ruleCommonParam);

    KiteRuleResponse cuccCheckOrderPreViewCommon(String sceneInstId, String custId, RuleCommonParam ruleCommonParam);

    KiteRuleResponse cuccCheckOnOrderPreview(String sceneInstId, String custId, RuleCommonParam ruleCommonParam);

    KiteRuleResponse PIARPayMemberCheck(RuleCommonParam ruleCommonParam);
}
